xen.git
20 years agoRemove unused, broken, redundant and undocumented option xm create -L.
emellor@leeni.uk.xensource.com [Mon, 20 Mar 2006 08:56:46 +0000 (09:56 +0100)]
Remove unused, broken, redundant and undocumented option xm create -L.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoAllows the hypervisor to build without warnings (wisely considered
kaf24@firebug.cl.cam.ac.uk [Fri, 17 Mar 2006 10:45:46 +0000 (11:45 +0100)]
Allows the hypervisor to build without warnings (wisely considered
errors with/-Werror) when perfc_arrays are enabled in xen/Rules.mk.

Signed-off-by: David Lively <dlively@virtualiron.com>
20 years agoFix the gzip size extraction in xc_inflate_buffer(). Extract
kaf24@firebug.cl.cam.ac.uk [Fri, 17 Mar 2006 10:44:55 +0000 (11:44 +0100)]
Fix the gzip size extraction in xc_inflate_buffer(). Extract
bytes as unsigned quantities.

Signed-off-by: David Lively <dlively@virtualiron.com>
20 years agoFix sched_sedf adjdom to properly clamp the period max value.
kaf24@firebug.cl.cam.ac.uk [Fri, 17 Mar 2006 10:00:46 +0000 (11:00 +0100)]
Fix sched_sedf adjdom to properly clamp the period max value.
Remove temporary debug tracing.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoDeclare inline function as 'static inline', not 'extern inline'.
kaf24@firebug.cl.cam.ac.uk [Fri, 17 Mar 2006 09:57:28 +0000 (10:57 +0100)]
Declare inline function as 'static inline', not 'extern inline'.
Fixes the ioemu build which was broken on some systems.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoReinitialize producer and consumer index to 0 if indexes corruption are detected
vhanquez@kneesa.uk.xensource.com [Fri, 17 Mar 2006 10:03:37 +0000 (10:03 +0000)]
Reinitialize producer and consumer index to 0 if indexes corruption are detected
in XenBus.
Prevent a kernel infinite loop and add more recovering ability.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agoSubstitute kmalloc+memset by kzalloc where possible
vhanquez@kneesa.uk.xensource.com [Fri, 17 Mar 2006 09:52:05 +0000 (09:52 +0000)]
Substitute kmalloc+memset by kzalloc where possible

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agoClean up HVM relinquish_guest_resources interface and implementation.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Mar 2006 18:36:28 +0000 (19:36 +0100)]
Clean up HVM relinquish_guest_resources interface and implementation.
Ensure we only unmap the shared I/O page after killing all timers
whose handlers may reference that page.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAdd Summagraphics Tablet emulation for VNC users. The current PS/2 emulation
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Mar 2006 17:57:54 +0000 (18:57 +0100)]
Add Summagraphics Tablet emulation for VNC users.  The current PS/2 emulation
is unusable under VNC since a PS/2 mouse provides deltas while VNC only
provides absolute coordinates.  Fortunately, the Summagraphics Tablet provides
absolute coordinates and works perfectly with VNC.

Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
20 years agoChange the VNC main input loop delay from 1 second down to 10
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Mar 2006 17:43:07 +0000 (18:43 +0100)]
Change the VNC main input loop delay from 1 second down to 10
msec.  The 1 second delay was causing significant latency problems
with the mouse while there is no measurable overhead in lowering the
delay down to 10 msec.

Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
20 years agoAdd a shadow VRAM to track changes to the real VRAM. When the guest
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Mar 2006 17:41:01 +0000 (18:41 +0100)]
Add a shadow VRAM to track changes to the real VRAM.  When the guest
OS was given write access to the VRAM the device model tracked all
VRAM changes by updating the entire screen on every output loop,
causing significant overhead (a CPU bound loop in a guest slows down
by about 35%) and significant mouse latency (VNC uses the same data
path for mouse events and video updates).  With the shadow VRAM only
modified pages need to be updated and the comparison of the shadow
VRAM to the real VRAM only adds ~4% overhead while eliminating the
mouse latencies.

Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
20 years agoExplicitly include time.h to get gettimeofday declaration.
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Mar 2006 11:34:27 +0000 (12:34 +0100)]
Explicitly include time.h to get gettimeofday declaration.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agopcifront poll loop now checks gettimeofday rather than jiffies,
kaf24@firebug.cl.cam.ac.uk [Thu, 16 Mar 2006 11:31:16 +0000 (12:31 +0100)]
pcifront poll loop now checks gettimeofday rather than jiffies,
as the latter does not increase while interrupts are disabled.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoImplement console for Mini-os and also fix 2 bugs:
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Mar 2006 19:25:50 +0000 (20:25 +0100)]
Implement console for Mini-os and also fix 2 bugs:
a) in initialising new page table frames
b) in initialising idle thread.

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
20 years agoMake asm macros use the generally accepted comma-separated arg-passing style.
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Mar 2006 19:22:31 +0000 (20:22 +0100)]
Make asm macros use the generally accepted comma-separated arg-passing style.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoUpdate interface documentation to include sched_op_new hypercall
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Mar 2006 18:19:22 +0000 (19:19 +0100)]
Update interface documentation to include sched_op_new hypercall
and clean up the style a bit. Also clean up the sched_op_new
description in the sched.h public header.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoRemove unnecessary cr4 handling in vmx_set_cr0.
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Mar 2006 12:35:43 +0000 (13:35 +0100)]
Remove unnecessary cr4 handling in vmx_set_cr0.
1) on x86_32, PAE should never be enabled in guest cr4, since we only
support pure IA32 VMX guest.
2) on x86_32p or x86_64, PAE should always be enabled in guest cr4,
since even pure IA32 guest uses PAE paging mode actually.

Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
20 years agomerge
vhanquez@kneesa.uk.xensource.com [Wed, 15 Mar 2006 12:24:59 +0000 (12:24 +0000)]
merge

20 years agofix buffer overflow in print XS_DEBUG command
vhanquez@kneesa.uk.xensource.com [Wed, 15 Mar 2006 12:24:34 +0000 (12:24 +0000)]
fix buffer overflow in print XS_DEBUG command

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agomove XS_DEBUG code into a proper function
vhanquez@kneesa.uk.xensource.com [Wed, 15 Mar 2006 12:08:10 +0000 (12:08 +0000)]
move XS_DEBUG code into a proper function

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agoMake MTU rx check in netfront more permissive to allow for 8021q vlan tagging.
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Mar 2006 11:52:33 +0000 (12:52 +0100)]
Make MTU rx check in netfront more permissive to allow for 8021q vlan tagging.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoRemove unused macro VMX_CPU_STATE_PG_ENABLED.
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Mar 2006 11:41:58 +0000 (12:41 +0100)]
Remove unused macro VMX_CPU_STATE_PG_ENABLED.
Use vmx_paging_enabled() instead.

Signed-off-by: Xin Li <xin.b.li@intel.com>
20 years agoFix 64-bit build.
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Mar 2006 11:40:42 +0000 (12:40 +0100)]
Fix 64-bit build.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoDo not BUG when receiving unexpected message type from xenbus
vhanquez@kneesa.uk.xensource.com [Wed, 15 Mar 2006 11:09:45 +0000 (11:09 +0000)]
Do not BUG when receiving unexpected message type from xenbus
print a warning and discard the query

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agoThere is no need to pin page tables when XENFEAT_writable_page_tables
Ian.Campbell@xensource.com [Wed, 15 Mar 2006 10:33:43 +0000 (10:33 +0000)]
There is no need to pin page tables when XENFEAT_writable_page_tables
is enabled.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
20 years agoFix x86/64 HVM assertion failure.
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Mar 2006 10:09:20 +0000 (11:09 +0100)]
Fix x86/64 HVM assertion failure.

Signed-off-by: Xin Li <xin.b.li@intel.com>
20 years agoI've found it useful to display the panic message *before* dropping into the
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Mar 2006 10:07:26 +0000 (11:07 +0100)]
I've found it useful to display the panic message *before* dropping into the
debugger. Once there it may be very difficult to find the original message,
and often a debugger isn't even needed if you can see what panicked.

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
20 years agoUnlike x86 and apparently ia64, PowerPC delivers timer interrupts as a
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Mar 2006 10:06:45 +0000 (11:06 +0100)]
Unlike x86 and apparently ia64, PowerPC delivers timer interrupts as a
different exception than device interrupts. For PowerPC Xen, we emulate this
exception rather than delivering timer events as virtual IRQs. This patch
introduces no functional changes for x86 and ia64, but is a required change
for xen/arch/ppc.

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
20 years agoAdd extra tracing near a commonly-failing scheduler assertion.
kaf24@firebug.cl.cam.ac.uk [Wed, 15 Mar 2006 09:32:34 +0000 (10:32 +0100)]
Add extra tracing near a commonly-failing scheduler assertion.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoDefine a new sched_op hypercall called sched_op_new, which differs from the
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 18:33:45 +0000 (19:33 +0100)]
Define a new sched_op hypercall called sched_op_new, which differs from the
legacy hypercall in that it takes a pointer to a block of extra arguments
rather than an opaque unsigned long. The old hypercall still exists, for
backwards compatibility.

The new hypercall supports new sub-command SCHEDOP_poll, which can be used to
wait on a set of event-channel ports with an optional timeout. This is exported
in XenLinux as HYPERVISOR_poll, and used in the pcifront driver to wait on a
response from the pciback driver.

Can also be used for debuggers. :-)

Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: John Levon <john.levon@sun.com>
20 years agoAdd a read barrier to the time-values-uptodate xenlinux time checking function.
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 16:35:38 +0000 (17:35 +0100)]
Add a read barrier to the time-values-uptodate xenlinux time checking function.
Also fix monotonic clock to use just a compile barrier instead of smp_rmb.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix ASSERT failure caused by NX support code on x86_64
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 15:09:34 +0000 (16:09 +0100)]
Fix ASSERT failure caused by NX support code on x86_64
When turning on debug for x86_64, ASSERT(gpfn =3D=3D (gpfn & =
PGT_mfn_mask))
in __shadow_status will fail, this patch makes the NX support code
comply with this ASSERT.
NB: NX on PAE xen is not supported yet.

Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
20 years agoWhen both stolen and blocked are rounded down, it is possible for the
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 15:00:16 +0000 (16:00 +0100)]
When both stolen and blocked are rounded down, it is possible for the
final increment of the cpu local processed_system_time to move the cpu
local system time ahead a bit further than expected - but still proper
wrt. wall clock time.

This gives problems on a next timer interrupt, when stolen and blocked
both get rounded up and end up incrementing the per cpu
processed_system_time too far.

These simple checks make sure that the cpu local processed_system_time
never gets advanced too far.  Not advancing the variable now should be
fine, since we'll increment it at the next timer tick...

This patch has made the "time went backwards" error messages go away
completely.

Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoXen/ia64 build fixes.
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 14:45:00 +0000 (15:45 +0100)]
Xen/ia64 build fixes.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
20 years agoTrivial ia64 tools build fix.
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 14:44:04 +0000 (15:44 +0100)]
Trivial ia64 tools build fix.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
20 years agoFix a bug which occurs when Xen is compiled with debug=y. Destroying a
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 14:43:10 +0000 (15:43 +0100)]
Fix a bug which occurs when Xen is compiled with debug=y. Destroying a
32-bit HVM guest on x86/64 will cause a Xen hang.

Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com>
20 years agoFix the bug that hvm domain network breaks after xm reboot. Root
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 14:40:44 +0000 (15:40 +0100)]
Fix the bug that hvm domain network breaks after xm reboot.  Root
cause: qemu network related info is not saved in xenstore, so after
reboot, this information is missing, and qemu can not start network.

Signed-off-by: Haifeng Xue <haifeng.xue@intel.com>
20 years agoFix build error with -Wstrict-prototype.
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 14:36:40 +0000 (15:36 +0100)]
Fix build error with -Wstrict-prototype.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix memory leak in xc_domain_dumpcore and simplify copy_from_domain_page.
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 14:33:57 +0000 (15:33 +0100)]
Fix memory leak in xc_domain_dumpcore and simplify copy_from_domain_page.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix a typo in a comment -- vmxloader is now hvmloader.
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 14:26:54 +0000 (15:26 +0100)]
Fix a typo in a comment -- vmxloader is now hvmloader.

Signed-off-by: Andrew D. Ball <aball@us.ibm.com>
20 years agoFix PAE ptep_get_and_clear_full(). The fast path requires us to manually clear
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 14:25:33 +0000 (15:25 +0100)]
Fix PAE ptep_get_and_clear_full(). The fast path requires us to manually clear
the low half before the high half. Otherwise the compiler may reorder the writes
and validation in Xen will fail.

From: Jan Beulich
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoInitialise blkfront_info to zeroes after allocating it.
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 14:18:35 +0000 (15:18 +0100)]
Initialise blkfront_info to zeroes after allocating it.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoRevert some of the bigger changes in c/s 9217 as these have been
kaf24@firebug.cl.cam.ac.uk [Tue, 14 Mar 2006 12:01:43 +0000 (13:01 +0100)]
Revert some of the bigger changes in c/s 9217 as these have been
causing problems for a few people:
 1. HVM guests can now have page directories with unknown
    back pointers (I think this is the cause of problems that
    Jun Nakajima was seeing).
 2. L1 pagetable pinning requests are no longer ignored (may
    be the cause of problems Joe Bonasera was seeing).
 3. The PGT_va_mutable flag has been reintroduced, but for
    L1 pagetables only.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoClean up block-device hotplug routines in xenlinux.
kaf24@firebug.cl.cam.ac.uk [Mon, 13 Mar 2006 14:06:58 +0000 (15:06 +0100)]
Clean up block-device hotplug routines in xenlinux.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAdd a 't' debug key to Xen for displaying info about cross-cpu clock jitter.
kaf24@firebug.cl.cam.ac.uk [Mon, 13 Mar 2006 12:03:51 +0000 (13:03 +0100)]
Add a 't' debug key to Xen for displaying info about cross-cpu clock jitter.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoMake time-backwarsd warning a run-time configurable option.
kaf24@firebug.cl.cam.ac.uk [Mon, 13 Mar 2006 12:03:18 +0000 (13:03 +0100)]
Make time-backwarsd warning a run-time configurable option.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoThe existing xc_domain_dumpcore is very specific to disk/file based
kaf24@firebug.cl.cam.ac.uk [Mon, 13 Mar 2006 10:47:56 +0000 (11:47 +0100)]
The existing xc_domain_dumpcore is very specific to disk/file based
output.  Refactor the code slightly to allow more user-specified
control.  This is done by adding a parallel
xc_domain_dumpcore_via_callback, which allows the specification of a
callback routine and an opaque argument block.  The existing dumpcore
routine is modified to use the callback for all write operations and
to turn the single seek into a small write (it's for page alignment).

Signed-off-by: Ben Thomas <bthomas@virtualiron.com>
20 years agoxm top was listed twice in the help message -- remove it from the Host Commands
emellor@leeni.uk.xensource.com [Mon, 13 Mar 2006 10:10:27 +0000 (11:10 +0100)]
xm top was listed twice in the help message -- remove it from the Host Commands
section, leaving it in the Domain Commands section.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoFix broken assertion in SEDF scheduler.
kaf24@firebug.cl.cam.ac.uk [Mon, 13 Mar 2006 09:49:45 +0000 (10:49 +0100)]
Fix broken assertion in SEDF scheduler.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoNo need to pin/unpin intermediate pagetables in x86/64 xenlinux.
kaf24@firebug.cl.cam.ac.uk [Sun, 12 Mar 2006 18:37:38 +0000 (19:37 +0100)]
No need to pin/unpin intermediate pagetables in x86/64 xenlinux.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoIgnore pinning of other than root page directories. Disallow
kaf24@firebug.cl.cam.ac.uk [Sun, 12 Mar 2006 18:37:00 +0000 (19:37 +0100)]
Ignore pinning of other than root page directories. Disallow
creation of pagetables with 'va_unknown' page-directory backptrs.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAdd missing include of a header file to avoid a compile warning.
kaf24@firebug.cl.cam.ac.uk [Sun, 12 Mar 2006 09:03:33 +0000 (10:03 +0100)]
Add missing include of a header file to avoid a compile warning.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agopciback sends evtchn notification to pcifront when its request is processed.
kaf24@firebug.cl.cam.ac.uk [Sun, 12 Mar 2006 08:52:19 +0000 (09:52 +0100)]
pciback sends evtchn notification to pcifront when its request is processed.
This may in future allow pcifront to avoid spin-waiting.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoMerged.
emellor@leeni.uk.xensource.com [Sat, 11 Mar 2006 14:40:33 +0000 (15:40 +0100)]
Merged.

20 years agoRemove blank line -- this was causing all the tests to be run twice, because
emellor@leeni.uk.xensource.com [Sat, 11 Mar 2006 14:40:26 +0000 (15:40 +0100)]
Remove blank line -- this was causing all the tests to be run twice, because
the blank line is interpreted as running make check in tests/.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoMerged.
emellor@leeni.uk.xensource.com [Sat, 11 Mar 2006 10:53:22 +0000 (11:53 +0100)]
Merged.

20 years agoDefine TESTS to be the .test files, not the .py files, otherwise the chmod +x
emellor@leeni.uk.xensource.com [Sat, 11 Mar 2006 10:52:40 +0000 (11:52 +0100)]
Define TESTS to be the .test files, not the .py files, otherwise the chmod +x
doesn't get called.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoHG Patch
root@dyn9047022116.beaverton.ibm.com [Sat, 11 Mar 2006 10:46:38 +0000 (11:46 +0100)]
HG Patch

Add feature to layer xm-test tests, grouping of tests by casename and
execution of tests by user specified lists.

Signed-off-by: Woody Marvel <marvel@us.ibm.com>
20 years ago- Reworked to use your match_domid suggestion and filtering
emellor@leeni.uk.xensource.com [Sat, 11 Mar 2006 10:45:10 +0000 (11:45 +0100)]
- Reworked to use your match_domid suggestion and filtering
- Aligned output and help to fit within 80 char limit
- User now deals in milliseconds instead of nanoseconds
- Fixed some missing parens in tests (I had pushed stale versions)
- Updated tests to deal with period/slice/latency in ms

root@bebop:~/xm-test.sedf/tests/sedf # xm sched-sedf
Name                              ID Period(ms) Slice(ms) Lat(ms) Extra Weight
Domain-0                           0      20.0      15.0     0.0      1      0

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
20 years agoMerged.
emellor@leeni.uk.xensource.com [Sat, 11 Mar 2006 10:20:32 +0000 (11:20 +0100)]
Merged.

20 years agoTrivial fix to bind implementation.
emellor@leeni.uk.xensource.com [Sat, 11 Mar 2006 10:19:11 +0000 (11:19 +0100)]
Trivial fix to bind implementation.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoChangeset 9134 introduced a caching mechanism when xenbus_switch_state
kaf24@firebug.cl.cam.ac.uk [Sat, 11 Mar 2006 09:49:28 +0000 (10:49 +0100)]
Changeset 9134 introduced a caching mechanism when xenbus_switch_state
is invoked. This causes a problem in the resume part of a suspend-resume
cycle due to the backend not seeing that a state in the frontend was
set. This patch fixes this in the TPM frontend driver.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
20 years ago Currently if one tries to execute VMX instruction from inside the
kaf24@firebug.cl.cam.ac.uk [Sat, 11 Mar 2006 09:47:55 +0000 (10:47 +0100)]
 Currently if one tries to execute VMX instruction from inside the
VMX guest, the Xen hyper visor has no handling of it resulting in a
bug(). This patch handles such VMX instructions from the guest returning
invalid opcode to the guest. Also the macro VMX_INVALID_ERROR_CODE is
renamed to the more meaningful VMX_DELIVER_NO_ERROR_CODE.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-Off-By: Jun Nakajima <jun.nakajima@intel.com>=20
20 years agoEnable the ejection of the physical cdrom tray, when user enters
kaf24@firebug.cl.cam.ac.uk [Sat, 11 Mar 2006 09:44:48 +0000 (10:44 +0100)]
Enable the ejection of the physical cdrom tray, when user enters
"eject cdrom" in the control console of a VMX guest.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
20 years agoMore build config changes:
kaf24@firebug.cl.cam.ac.uk [Fri, 10 Mar 2006 16:32:04 +0000 (17:32 +0100)]
More build config changes:
 - Build -O2 rather than -O3
 - Build with -Wstrict-prototypes
 - Move target-specific generic compiler switches to Config.mk

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoReplace memory_op subcommands reserved_phys_area and map_shared_info
kaf24@firebug.cl.cam.ac.uk [Fri, 10 Mar 2006 15:00:36 +0000 (16:00 +0100)]
Replace memory_op subcommands reserved_phys_area and map_shared_info
with new subcommand add_to_physmap.

This changes the domain0 tools interface, but only when building
shadow-translate-mode guests.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoMap grant table pages in vmalloc kernel address space instead of fixmap.
cl349@firebug.cl.cam.ac.uk [Fri, 10 Mar 2006 13:27:24 +0000 (13:27 +0000)]
Map grant table pages in vmalloc kernel address space instead of fixmap.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoMinor fix to error message.
emellor@leeni.uk.xensource.com [Fri, 10 Mar 2006 10:47:24 +0000 (11:47 +0100)]
Minor fix to error message.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoSimplify the interface into httpserver and UnixHttpServer -- the root and
emellor@leeni.uk.xensource.com [Fri, 10 Mar 2006 10:44:03 +0000 (11:44 +0100)]
Simplify the interface into httpserver and UnixHttpServer -- the root and
interface parameters are always used, so there's no need for them to be named
parameters with defaults.

Remove unused httpserver.getRoot and getPort, and simplify the main request
loop.  This means that socket errors do not have to be squelched.

Coalesce the two identical bind methods, one in UnixHttpServer, one in
UnixListener.  Fix this bind method to set the permissions on the socket
explicitly.  This closes a security hole, and fixes the intermittent failure
of xm-test/06_list_nonroot.test.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoUntangle XendRoot and XendLogging by having XendLogging check the global
emellor@leeni.uk.xensource.com [Fri, 10 Mar 2006 10:38:15 +0000 (11:38 +0100)]
Untangle XendRoot and XendLogging by having XendLogging check the global
params.XEND_DEBUG value itself.  This removes the need for addLogStderr and
removeLogStderr.  Remove the maxBytes and backupCount parameters to init, as
they are unused and we only use the hardcoded values anyway.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
20 years agoThe attached patch cleans up the parsing of /proc/xen/balloon that
emellor@leeni.uk.xensource.com [Fri, 10 Mar 2006 10:05:59 +0000 (11:05 +0100)]
The attached patch cleans up the parsing of /proc/xen/balloon that
occurs in xend.  Currently, the parsing is hard-coded; it expects that
the desired number is on the first line.  My patch is more robust; it
lets values be retrieved by a label.  It also exposes a few functions to
retrieve the current allocation and the target allocation.

By abstracting this a little better, I'll be able to address a few
other issues in subsequent patches.  Mostly, this allows for better
error checking and guidance for the user.  For example, by exposing
get_dom0_current_alloc(), we can (elsewhere, in a later patch) calculate
how large of a VM could potentially be started.  This is useful, as it
lets simple VM-creation GUIs guide the user towards reasonable memory
values for new VMs.

Signed-off-by: Charles Coffing <ccoffing@novell.com>
20 years agoFix test 11_create_concurrent_ps.py for HVM domains. HVM can only
stekloff@elm3b216.beaverton.ibm.com [Fri, 10 Mar 2006 09:54:25 +0000 (10:54 +0100)]
Fix test 11_create_concurrent_ps.py for HVM domains. HVM can only
load as many disk.img domains as there are loop devices. Added a
small function to get number of loop devices to be used as a max
for number of concurrent domains the test launches.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
20 years agoClean the pending_intr processing sequence and fix some potential bugs.
kaf24@firebug.cl.cam.ac.uk [Fri, 10 Mar 2006 08:12:22 +0000 (09:12 +0100)]
Clean the pending_intr processing sequence and fix some potential bugs.

Signed-off-by: Eddie Dong <eddie.dong@intel.com>
Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
20 years agoFix the gdbserver-xen for VMX guests.
kaf24@firebug.cl.cam.ac.uk [Fri, 10 Mar 2006 08:11:33 +0000 (09:11 +0100)]
Fix the gdbserver-xen for VMX guests.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
20 years agoThis patch
emellor@leeni.uk.xensource.com [Fri, 10 Mar 2006 00:08:59 +0000 (01:08 +0100)]
This patch

-Displays current parameters for running domains ala xm list
-Allow users to set one or more parameters without having to
 provide values for parameters they do not wish to change
-Adds additional testing of sched-sedf via new xm-test testcases.

With this patch applied, test 02_sedf_period_lower_neg.py exposes a
bug.  I'll follow up this email with a patch for the bug.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
20 years agoAdding hping TCP and UDP tests. They hping a number of packets to
stekloff@localhost.localdomain [Thu, 9 Mar 2006 23:49:54 +0000 (00:49 +0100)]
Adding hping TCP and UDP tests. They hping a number of packets to
local interface, dom0, and from domU to domU. HVM support included.

Signed-off-by: Jim Dykman <dykman@us.ibm.com>
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
20 years agoFix xmtest 13_create_multinic_pos.py to work with HVM.
stekloff@elm3b216.beaverton.ibm.com [Thu, 9 Mar 2006 23:49:08 +0000 (00:49 +0100)]
Fix xmtest 13_create_multinic_pos.py to work with HVM.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
20 years agoFix a few small issues in xc_domain_dumpcore:
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 22:07:27 +0000 (23:07 +0100)]
Fix a few small issues in xc_domain_dumpcore:

xc_domain_getinfo returns information about a domain, but not
necessarily the one you asked about.  Add check for this.

max_vcpu_id in xc_domain_getinfo is really an ID, not a count, so
make the loop include the last VCPU

Signed-off-by: Ben Thomas <ben@virtualiron.com>
20 years agoMove 'debug' build option into the outermost Config.mk file.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 21:31:45 +0000 (22:31 +0100)]
Move 'debug' build option into the outermost Config.mk file.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoClean up the usage of CFLAGS. This is nice for packagers, who would
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 20:17:45 +0000 (21:17 +0100)]
Clean up the usage of CFLAGS.  This is nice for packagers, who would
like to control the base compilation flags from a central place.

Signed-off-by: Charles Coffing <ccoffing@novell.com>
20 years agoChange the location of the shared_info page for auto_translated_physmap guests.
cl349@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 16:24:57 +0000 (16:24 +0000)]
Change the location of the shared_info page for auto_translated_physmap guests.
Instead of putting the page outside of the guests pseudo-physical address
space, we put it next to the other pages filled by the domain builder,
such that the page is already mapped in the initial pagetables and/or a
lowmem-type memory mapping.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoBuild MTRR support into privileged xenlinux x86/64.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 15:03:23 +0000 (16:03 +0100)]
Build MTRR support into privileged xenlinux x86/64.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoApply proper locking in xenlinux mtrr interface functions.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 14:59:53 +0000 (15:59 +0100)]
Apply proper locking in xenlinux mtrr interface functions.

From: Jan Beulich
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years ago64 bit pagetable builder added to mm.c
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 14:57:32 +0000 (15:57 +0100)]
64 bit pagetable builder added to mm.c
Signed-off-by: Aravindh Puthiyaparambil
<aravindh.puthiyaparambil@unisys.com>
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
20 years agoExplain disadvantages of building pciback as a module in Kconfig help.
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 14:56:12 +0000 (15:56 +0100)]
Explain disadvantages of building pciback as a module in Kconfig help.
Fix a module-loading bug in pciback.

From: Jan Beulich
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoMake xc_linux_build() load the initrd page-by-page rather
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 14:16:35 +0000 (15:16 +0100)]
Make xc_linux_build() load the initrd page-by-page rather
than all in one go, to conserve memory. This always has been
the behaviour, but it was changed by a changeset earlier today.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoClean up internal libxc functions to take 'const char *'
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 13:35:36 +0000 (14:35 +0100)]
Clean up internal libxc functions to take 'const char *'
parameters where possible, to avoid unnecessary casts.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAdd a parallel set of APIs to the domain builders to allow images and
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 12:00:38 +0000 (13:00 +0100)]
Add a parallel set of APIs to the domain builders to allow images and
ramdisks to be passed via buffer, rather than via file.  This allows
usage of the underlying domain building routines in "file-challenged"
enviroments.

Specifically, xc_linux_build_mem is the buffer oriented version of the
file-oriented xc_linux_build.  Likewise, xc_hvm_build_mem is the
buffer oriented analog of the file based xc_hvm_build.

Signed-off-by: Ben Thomas (bthomas@virtualiron.com)
20 years agoAdds a new device interface to xend/xm similar to the one for ioports
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 10:20:31 +0000 (11:20 +0100)]
Adds a new device interface to xend/xm similar to the one for ioports
where an interrupt (irq) can be specified in the configuration file
and permission to bind to that interrupt will be given to a driver
domain.

This functionality could be used when trying to give a legacy device
to a driver domain. For example, by specifying the i/o ports and the
interrupt of your serial controller, you can use this patch to put a
serial port in a driver domain. This was discussed briefly on
xen-users in regards to using an external modem in a domU:

http://article.gmane.org/gmane.comp.emulators.xen.devel/20573
http://article.gmane.org/gmane.comp.emulators.xen.user/8754

Also adds the ability to specify irqs on the xm command-line when
creating a domain (the following examples show a serial port being
given to a domU):

xm create serial-dd irq=4 ioports=03f8-03ff

or in a flat config-file:

irq = [4]
ioports = ['03f8-03ff']

or in an SXP config file:

(device (irq (irq 4)))
(device (ioports (from '0x03f8')(to '0x03ff')))

The ioports functionality is already in xen, but this patch also fixes a
bug with it that I assume cropped up due to changes in xend since it was
submitted ('dev' doesn't exist in iopif.py, returning 'None' seems to be
the solution).

Also adds some in-line documentation in tools/python/xen/xm/create.py
to be more accurate regarding adding pci devices and i/o ports on the
command-line.

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
20 years agoAccording to the April 2005 Intel Virtualization Technology Specification
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 10:17:29 +0000 (11:17 +0100)]
According to the April 2005 Intel Virtualization Technology Specification
(Appendix A1) indicates that there are 44 potential exit reason codes.
Based upon this, increase the size of the PERFCOUNTER_ARRAY for vmexits.

Signed-off-by: Ben Thomas (bthomas@virtualiron.com)
20 years agoFix order-of-evaluation issue in xc_domain_dumpcore. The intent is
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Mar 2006 10:16:46 +0000 (11:16 +0100)]
Fix order-of-evaluation issue in xc_domain_dumpcore.  The intent is
to move blocks of memory 4096 pages at a time, and a buffer is
allocated for this.  Unfortunately, the #define is without
parentheses and %/* are the same order and evaluated left to right.
Result: very big buffer being used 4 pages at a time.

Signed-off-by: Ben Thomas (bthomas@virtualiron.com)
20 years agoClean up the interface for sharing xen-heap pages with guests.
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Mar 2006 23:45:40 +0000 (00:45 +0100)]
Clean up the interface for sharing xen-heap pages with guests.
Map trace buffer pages as DOMID_XEN pages.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAdd missing include in hypercalls header file.
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Mar 2006 23:04:43 +0000 (00:04 +0100)]
Add missing include in hypercalls header file.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAllow pciback to be built as a module.
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Mar 2006 17:41:12 +0000 (18:41 +0100)]
Allow pciback to be built as a module.

From: Jan Beulich
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAllow pciback to be placed into a permissive mode of operation whereby it allows
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Mar 2006 16:32:36 +0000 (17:32 +0100)]
Allow pciback to be placed into a permissive mode of operation whereby it allows
PCI config writes to succeed by default. Currently this is the only way to allow
control of a device that has device-specific registers in the config space from
a driver domain.

echo Y >/sys/module/pciback/parameters/permissive

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoTrivial fix for pcifront bringup.
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Mar 2006 14:51:28 +0000 (15:51 +0100)]
Trivial fix for pcifront bringup.

From: Jan Beulich
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix call to set_timer in vlapic.c. Should not set timer.expires
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Mar 2006 14:49:04 +0000 (15:49 +0100)]
Fix call to set_timer in vlapic.c. Should not set timer.expires
outside set_timer, since set_timer will do that for the caller.

Signed-off-by: Xin Li <xin.b.li@intel.com>
20 years agoImplement guest_access routines for copying to/from a sub-field of a structure.
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Mar 2006 14:39:59 +0000 (15:39 +0100)]
Implement guest_access routines for copying to/from a sub-field of a structure.
Use this as part of a tidy-up of the multicall hypercall.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoUndo misapplied search replace.
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Mar 2006 14:35:14 +0000 (15:35 +0100)]
Undo misapplied search replace.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoLower-casify some macros, and rename kernel_mode() to guest_kernel_mode().
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Mar 2006 14:02:43 +0000 (15:02 +0100)]
Lower-casify some macros, and rename kernel_mode() to guest_kernel_mode().
Fix the macro so that it evaluates false if the given register context is
not a valid guest context.

Signed-off-by: Keir Fraser <keir@xensource.com>